package com.getpebble.android.common.core.util;

public class ByteUtil {
    private static final byte[] HEXBYTES = new byte[]{(byte) 48, (byte) 49, (byte) 50, (byte) 51, (byte) 52, (byte) 53, (byte) 54, (byte) 55, (byte) 56, (byte) 57, (byte) 97, (byte) 98, (byte) 99, (byte) 100, (byte) 101, (byte) 102};
    public static final String TAG = ByteUtil.class.getSimpleName();

    public static String byteArrayToHexString(byte[] b, int len) {
        if (len == 0) {
            len = b.length;
        }
        StringBuilder sb = new StringBuilder();
        int row = 0;
        int column = 1;
        for (int i = 0; i < len; i++) {
            if (column == 1) {
                sb.append(String.format("\n%04d | ", new Object[]{Integer.valueOf(row * 24)}));
            }
            int c = b[i] & 255;
            sb.append("0x");
            sb.append((char) HEXBYTES[(c >> 4) & 15]).append((char) HEXBYTES[c & 15]);
            if (column % 4 == 0 && column % 8 != 0) {
                sb.append("  ");
            } else if (column % 8 == 0) {
                sb.append("   ");
            } else {
                sb.append(" ");
            }
            if (column == 23) {
                row++;
                column = 0;
            } else {
                column++;
            }
        }
        return sb.toString();
    }
}
